package br.ita.doacoes.core.campanha;

import java.util.List;

import br.ita.doacoes.core.cadastrodoacoes.dao.impl.DAOImpl;
import br.ita.doacoes.domain.campanha.Campanha;

public class CampanhaDAOImpl extends DAOImpl<Campanha> {
	public CampanhaDAOImpl(Class<Campanha> x) {
		super(x);
	}
	
	public List<Campanha> getByField(Campanha c){
		String query = new String("");
		
		if(c.getNome() != null){
			query += "and" + " c.nome = " + "'" + c.getNome() + "' ";
		}
		if(c.getDescricao() != null){
			query += "and" + " c.descricao = " + "'" + c.getDescricao() + "' ";
		}
		if(c.getData_inicio() != null){
			query += "and" + " c.data_inicio = " + "'" + c.getData_inicio().toString() + "' ";
		}
		if(c.getData_termino() != null){
			query += "and" + " c.data_termino = " + "'" + c.getData_termino().toString() + "' ";
		}
		/*
		if(c.getGasto_estimado() != null){
			query += "and" + " c.gasto_estimado = " + c.getGasto_estimado().toPlainString();
		}*/
		
		if(!query.equals("")){
			query = query.substring(3,query.length()-1);
			query = " WHERE " + query;
		}
		
		return this.getByQuery("SELECT c FROM Campanha c" + query);
		
	}
	
}
